z26 -- An Atari 2600 Emulator (1.13) -- Sep 22, 1998 ---------------------------------------------------- Copyright (C) 1997-1998 by John Saeger Home Page: http://www.whimsey.com/z26 Send EMAIL to: john@whimsey.com What's New in this version? --------------------------- 1. Fixed column blanking. (broken in 1.12). 2. Fixed icehocky. (broken in 1.10). For a complete history of the versions please visit: http://www.whimsey.com/z26/z26FAQ.html Introduction ------------ z26 is a small, fast, easy to use Atari 2600 emulator that runs on a DOS platform, including Windows 95 and Windows 98 DOS boxes. z26 supports full Atari 2600 sound emulation using a Sound Blaster. System Requirements ------------------- z26 will run at full speed on virtually any Pentium class platform with a reasonable (PCI or better) video subsystem. It also runs fine on most AMD 5x86 or Cyrix 5x86 machines (with VLB video), and even on some fast 486's. z26 supports the use of a Sound Blaster card. It requires a Sound Blaster with at least version 2.00 DSP. This includes SB 2.0, SB-PRO, SB-16, and SOME older Sound Blasters. It should also run on more recent models of Sound Blaster, and many clones as well. I've heard it works on an Ensoniq PCI sound card. If you don't have a Sound Blaster or a compatible sound card, z26 will make an attempt to use the PC speaker to generate sounds. Try not to expect too much from the speaker though. Newbies ------- Now that you have z26, the next thing you need to do is find the ROM images. These are the actual games. z26 is not a game, z26 just lets you play them. So go to my links page: http://www.whimsey.com/z26/z26Links.html and follow some of the links that have (ROMS) next to them. I can't say exactly where on these sites you'll find them but I've found them on these sites in the past. After you get them you'll need to unzip them. They'll be in a file with a .ZIP extension. So you'll need PKUNZIP or some other unzipping utility to extract the ROM images from the .ZIP file. The actual ROM images have a .bin extension. So after you get the .bin files into the same directory as z26, open a DOS box (if you're not already in one or running DOS) and follow the next step... Startup. Startup ------- At the command line prompt type: >z26 filename where filename is the name of a "standard" Atari 2600 .bin file. For example: >z26 demonatk.bin will run Demon Attack. You're on your own finding the .bin files. But if you follow the links on the z26 links page, eventually you may get lucky. Getting Help ------------ If you type >z26 without a filename you get a short help screen describing the available controls and some command line options. The screen currently looks like this: z26 -- An Atari 2600 emulator (1.12) Copyright (C) 1997-1998 by John Saeger Home Page: http://www.whimsey.com/z26 F1 -- reset F2 -- select F3 -- B/W F4 -- Color F5 -- P0 easy F6 -- P0 hard F7 -- P1 easy F8 -- P1 hard p -- pause ENTER -- resume ESC -- quit = -- PCX screen capture PgUp -- scroll screen up PgDn -- scroll screen down Home -- scroll screen to default position Player 0 controls: CTRL -- fire, Use arrow keys to move. Player 1 controls: n -- fire, s -- left, e -- up, f -- right, d -- down Command Line Switches (put before filename) -0 -- player 0 hard, -1 -- player 1 hard -r -- run game at maximum speed -r -- run game at frames per second ( = 1 - 254 inclusive) -q -- quiet (no sound) -v -- video mode (0=70Hz, 1=60Hz, 2=60Hz narrow, 3=60Hz 204 scan lines) -j -- joystick (0=joystick off, 1=normal, 2=players reversed) More options and credits may be found in readme.txt. Joystick -------- z26 automatically detects a PC joystick and uses it to emulate an Atari joystick if one is present. Calibration is not required. Just make sure the joystick is centered when the emulator is started. Button 1 is the fire button. The keyboard controls still work even if a joystick is present. To force keyboard only mode use the -j0 command line switch. Some games like raiders.bin use the "wrong" joystick. To reverse the joysticks use the -j2 command line switch. Video Modes (correct play speed) -------------------------------- In order to provide good emulation of some of the Atari's more subtle graphics effects, z26 synchronizes game play with the refresh of the VGA screen. The original VGA video mode refreshes at 70Hz which makes game play slightly faster than a real Atari. By default, z26 uses a video mode that refreshes at 60Hz (Video Mode 3) to provide correct play speed. If you have a problem with this mode you may select the original 70Hz mode or one of the other modes with the -v command line switch. Video Mode 0 ------------ This is the original 70Hz mode 13 VGA mode. Video Mode 1 ------------ This mode is full size on older fixed-frequency monitors but is usually somewhat shorter than normal on modern multi-frequency monitors. However, you may be able to adjust the controls of the monitor to get the correct height. Video Mode 2 ------------ This mode is shorter and narrower than normal. If you can't, or don't wish to make an adjustment to your monitor to get Mode 1 looking right, or if you just like the smaller size better, you can use this mode to get the correct aspect ratio. Video Mode 3 (default) ---------------------- This mode is just like mode 2 except it has 4 additional scan lines for a total of 204. PCX screen capture will still only capture the first 200 scan lines. Are these video modes safe? --------------------------- Of course I make no guarantees. But as far as I know they work almost everywhere that the original 70Hz mode 13 video mode works. If you find an exception please let me know. In any case, monitor damage seems unlikely. If you suspect a problem, press to restore your monitor to text mode, or just turn the monitor off. Adjusting Your Monitor ---------------------- If you have a modern multi-frequency monitor, one or more of these modes may require some adjustment to achieve a good appearance. Modern monitors often have the ability to save multiple settings for multiple video modes. So it MAY be possible to adjust these modes without disturbing the adjustments for your other display modes. Adjusting Vertical Position --------------------------- You can scroll games up and down on the display with the and keys. You can return to the default display position by pressing the key. You can force the game to start displaying from a particular display line from the command line with the -u command line option. The default starting line is 39. So adjust from there. Note that the and scrolling doesn't work for frogpond.bin or pharhcrs.bin. Forcing Black and White mode ---------------------------- You can force a game to start in black and white mode with the -b command line switch. Adjusting Game Speed -------------------- By default, games run at monitor speed. If for some reason this doesn't work, or you want to try other speeds you can use the -r command line switch. If you don't specify a number (-r) the game runs as fast as possible. Otherwise, it runs at frames per second. Normal speed is 60 frames per second. Note that must be between 1 and 254 inclusive. Measuring Emulator Performance ------------------------------ With the -f option, you can run the emulator for frames and the number of frames per second that the emulator ran at is printed out. If you also specify the -r option to run at maximum speed you can see the maximum frame rate that the emulator can run a particular game at. You can also do things like turning off joystick support and sound for maximum performance. Troubleshooting Sound Setup --------------------------- If you run z26 and don't hear sound when you think you should, the first thing to check is to make sure the volume is turned up. If you're running under Windows 95, use the system volume control and make sure the Mute box is not checked. Also make sure the Wave Balance volume is turned up and that its Mute box is not checked. If you're running under DOS, use the volume control (mixer) program that came with your sound card. Failing that, try running z26 with the -s (show sound diagnostic messages) command line option. Note that you must specify a filename with this option. If you get the message "Sound Blaster too old!", maybe it's too old. You need a Sound Blaster with at least version 2.00 DSP to run z26. If you get the message "Sound Blaster not found." then either you don't have a Sound Blaster, or there's a problem with the environment string. z26 expects you to have an environment string set with the configuration of your Sound Blaster. If you're running under Windows 95, this usually is not a problem because Windows 95 seems to set up the environment string automatically. If you're running under DOS, the environment string is usually set up during the Sound Blaster installation procedure. To find out if your environment string has been set, type >set at the command line prompt. Or type >set | more if there's too much information to display on a single screen. You should see an entry something like this somewhere in the output: BLASTER=A220 I10 D1 H7 P330 T6 If you don't, that's the problem. Otherwise the information in the environment string may not match the actual settings on your Sound Blaster. In either case, re-do the installation procedure for your sound card to correct the problem, or set up the environment string manually. More About Sound ---------------- z26 sound generation is based on the TIASound library by Ron Fries. According to Ron, the optimum playback sample rate is 31400 samples per second. This is the "natural frequency" of the Atari, the frequency at which the sound generator in the Atari originally ran. So if your Sound Blaster is capable of playing sound at this rate (and most modern Sound Blasters are), we use this rate. There are a few older Sound Blasters that z26 supports that won't run at this rate. These Sound Blasters are run at a rate of 15700 samples per second. This causes only a small degradation in the quality of the sound. We also generate sound in real time. This means we can use very small sound buffers. This allows z26 to be more responsive to rapid changes in the sound that some games call for. z26 currently uses a sound buffer of 256 bytes divided into two parts, giving it an effective buffer size of 128 bytes. Digital Signal Processing ------------------------- z26 supports digital signal processing (DSP) on the sound. This is to reduce distortion on some clone sound cards, but also causes the sound to more closely approximate the sound of an old TV set for those users that prefer a more "classic" sound. To turn on DSP use the -d command line switch. If n=1 the setting is low, if n=2 the setting is high. Offbeat Cartridge Formats (Bank Switching) ------------------------------------------ z26 currently supports the following schemes: 1. Standard 8K bank switching. 2. Standard 16K bank switching. 3. Atari Super-Chip. 4. CBS Ram Plus. 5. Parker Brothers 8K. 6. TigerVision 8K. 7. Activision FE 8K. 8. Atari 32K. 9. M-Network 16K. Support is automatic. z26 knows how to recognize cartridges. PCX Screen Capture ------------------ Pressing the = key during game play causes a .pcx file with a screen image to be placed in your directory. Filenames are z26p0000.pcx, z26p0001.pcx etc. The filename restarts at z26p0000.pcx causing old versions to be replaced each time you restart the emulator. Warranty -------- z26 is provided without a warranty of any kind, either express or implied. Neither John Saeger nor anyone who has worked on the code may be held responsible for any damages, either direct or consequential, caused by the use of z26. Freeware -------- z26 is copyrighted freeware and may not be sold. Please keep all copyright notices and other acknowledgements intact. Thanks. Credits ------- z26 is based on A26 version 0.15 (C) 1996 by Paul Robson (autismuk@aol.com). PCX screen capture is (C) 1997 by Ronnie Greene (ender@abts.net). Atari 2600 sound emulation is based on TIASound (C) 1996 by Ron Fries. (rfries@tcmail.frco.com) 60Hz chained video modes courtesy of Jim Leonard (Trixter / Hornet). (trixter@hornet.org) Sound drivers are based on Asteroids v3.02 (C) 1997 by Chris Pile. (pegasus@enterprise.net) 6507 CPU emulation based in part on 6510core.c by Ettore Perazzoli. (ettore@comm2000.it) Support for special cartridge formats based on information found in sizes.txt by Kevin Horton (khorton@iquest.net). Thanks to everyone who has helped with comments, suggestions, bug reports, information, supplies and testing: Junky, Kevin White, The Boatwrights, Miguel Guzman Centeno, Peter, Jay C. Heil, Zoop, Rob Anderson, Zophar, Peter Vogels, Stephan, Xahji, Ricardo Martinez Garza, Stephano Camarri, Peter Betz, Piero Cavina (Oystron! Helped find multiple missile bug.), Nick S. Bensema, Erik Mooney, Glenn Saunders, Abraham Velazquez, Christian Schaefers (Z-Type), Freirias, Brian Deuel, Chris Platt, Israel Geron T., jose roberto rodrigues, Dan Meyer, Martin Schaefer, Ummagumma, Digitoxin, Michael Walden Jr. (The most elaborate suggestion list!), Gilamonster, Gerald Gorman, Francisco Athens, Lex Nesta, Ben, Gerald Gray, Jose Pedro, Tadd Underhill, Ejber Ozkan, Lord Mhath, Larry Scott, Brad Komgenick, Michael J. Mika, Ettore Perazzoli (VICE), Stephan Eder, Andreas Boose (VICE), David Gray, jimnav, Dr. Simone Zanella, Brad Thomas, Jeff Cockayne, Sam Miller, EmrldSword, justin martin, Justin Scott, Jason Berk, Luis Graterol, Ricardo Soto, Brian Smith, Sam Hard, Keith Merizalde, Nate Marigoni, Kurt Woloch, GreenImp, M. C. Silvius, Matthew Conte (Nofrendo), Jason Barisoff, Rick Vasquez, Marco Turconi, Kalik, Christopher Warren, Curt Vendel, Roberto Sidney Teixeira, raverpup, iCeFiRe, Chism, Sascha Reuter, Craig Tildesley, Michael Prentler, Cody B, Thom Rechak, Cam, Jason, Keith Weisshar, Robin Gravel, Thom Bone, Mrfriend, Edwin Helsloot, C J Biro, Michael Monson, Justin Rodriguez, Francesco Azzurri, Greg Bendokus, Bruce Clarke, John Dullea (PCAE), Tim Boston, Chris Ainsley, Ricardo Henrique Tabone, and Seth Kintigh. And thanks to Len Shikowitz for *complaining* well beyond the call of duty. Definitely "the most obstinate, yet sincere, tester." :) And thanks to anyone I may have missed. Thanks!!!